
#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>

int rebond(SDL_Rect posi, int* deplacement, SDL_Rect pos, int tablo[8])    //fonction permettent de rebondir si elle depace les contour de la fenetre
{
  int i = 0, j = 0;

  if(posi.y  < 50 )
  {
      if(posi.x > 10  && posi.x < 85 && tablo[0] == 0)
      {
      tablo[0] = 1;
          if(*deplacement == hautgauche)
         *deplacement = basgauche;
          if(*deplacement == hautdroit)
         *deplacement = basdroit;
      }
      if(posi.x > 88  && posi.x < 163 && tablo[1] == 0)
      {
      tablo[1] = 1;
          if(*deplacement == hautgauche)
         *deplacement = basgauche;
          if(*deplacement == hautdroit)
         *deplacement = basdroit;
      }
      if(posi.x > 166 && posi.x < 241 && tablo[2] == 0)
      {
      tablo[2] = 1;
          if(*deplacement == hautgauche)
         *deplacement = basgauche;
          if(*deplacement == hautdroit)
         *deplacement = basdroit;
      }
      if(posi.x > 244 && posi.x < 319 && tablo[3] == 0)
      {
      tablo[3] = 1;
          if(*deplacement == hautgauche)
         *deplacement = basgauche;
          if(*deplacement == hautdroit)
          *deplacement = basdroit;
      }
      if(posi.x > 322 && posi.x < 397 && tablo[4] == 0)
      {
      tablo[4] = 1;
          if(*deplacement == hautgauche)
         *deplacement = basgauche;
          if(*deplacement == hautdroit)
         *deplacement = basdroit;
      }
      if(posi.x > 400 && posi.x < 475 && tablo[5] == 0)
      {
      tablo[5] = 1;
          if(*deplacement == hautgauche)
           *deplacement = basgauche;
          if(*deplacement == hautdroit)
           *deplacement = basdroit;
      }
      if(posi.x > 478 && posi.x < 553 && tablo[6] == 0)
      {
      tablo[6] = 1;
          if(*deplacement == hautgauche)
           *deplacement = basgauche;
          if(*deplacement == hautdroit)
           *deplacement = basdroit;
      }
      if(posi.x > 556 && posi.x < 631 && tablo[7] == 0)
      {
      tablo[7] = 1;
       if(*deplacement == hautgauche)
         *deplacement = basgauche;
       if(*deplacement == hautdroit)
         *deplacement = basdroit;
      }

  }

  if(posi.y == 0 )
  {
   if(*deplacement == hautgauche)
   *deplacement = basgauche;
   if(*deplacement == hautdroit)
   *deplacement = basdroit;
  }

  if(posi.x == 0 )
  {
   if(*deplacement == basgauche)
   *deplacement = basdroit;
   if(*deplacement == hautgauche)
   *deplacement = hautdroit;
  }

  if((posi.y+35 > pos.y && posi.y+35 < pos.y + pos.h ) && (posi.x > pos.x && posi.x < pos.x + 150))
  {
   if(*deplacement == basdroit)
   *deplacement = hautdroit;
   if(*deplacement == basgauche)
  *deplacement = hautgauche;
  }
  if(posi.y  > pos.y)
  {
   if(*deplacement == basdroit && posi.x <= pos.x)
   *deplacement = basgauche;
   if(*deplacement == basgauche && posi.x >= pos.x)
   *deplacement = basdroit;
  }

  if(posi.x > 600)
  {
   if(*deplacement == basgauche)
   *deplacement = hautgauche;
   if(*deplacement == hautdroit)
   *deplacement = hautgauche;
   if(*deplacement == basdroit)
   *deplacement = basgauche;
  }

  if(posi.y + posi.h > 480 )
  return 2;

  for(i = 0; i < 8; i++)
  {
  j = j + tablo[i];
  if(j == 8)
  return 8;
  }
}


#endif // FONCTION_H_INCLUDED

